// pages/ciku/ciku.js
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //词库数据有效期，毫秒数，半天时间，半天更新一次
    cikuCacheDateTimeValidity: 1000*60*60*12,
    //词库列表
    cikuList: null,
    //当前选择的词库flag
    choiceCikuFlag: null,
    localList: [
      {"name": "热门", "value": "hot"},
      {"name": "初中", "value": "chuzhong"},
      {"name": "高中", "value": "gaozhong"},
      {"name": "中高考", "value": "zhonggaokao"},
      {"name": "大学", "value": "daxue"},
      {"name": "出国", "value": "chuguo"},
      {"name": "其他", "value": "other"}
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function () {
    //去缓存获取词库列表
    //如果时间戳过期了，删掉缓存，并且重新拉取渲染
    //时间戳没有过期，直接渲染使用
    //做缓存处理，每小时更新一次首页的列表
    var that = this;

    //检查一下是否有选择课程，如果没有选课，默认最简单的初一上课程
    var choiceCikuCache = wx.getStorageSync('choice-ciku-cache');
    console.log("获取缓存中的词库选择数据："+choiceCikuCache)
    if(choiceCikuCache == null || choiceCikuCache == ''){
      wx.setStorageSync('choice-ciku-cache', JSON.parse('{"flag":"70","name":"初中人教版七年级上","num":224}'));
      that.setData({
        choiceCikuFlag: JSON.parse('{"flag":"70","name":"初中人教版七年级上","num":224}')
      })
    }else{
      that.setData({
        choiceCikuFlag: choiceCikuCache
      })
    }
    console.log("当前词库选择flag:"+ that.data.choiceCikuFlag)

    var nowDateTime = Date.parse(new Date());
    var cacheDatetime = wx.getStorageSync('ciku-list-cache_datetime');
    console.log("获取上次拉取的时间戳缓存："+cacheDatetime)
    var gotoUpdateListBoolean = ((nowDateTime - cacheDatetime) > that.data.cikuCacheDateTimeValidity ? true : false);
    var cikuListCache = wx.getStorageSync('ciku-list-cache-data');
    if(!gotoUpdateListBoolean && cikuListCache != null && cikuListCache != '') {
      console.log("使用了缓存，缓存内容：" + cikuListCache)
      that.setData({
        cikuList: cikuListCache
      })
      return;
    }
    that.getCikuList();
  },

  onShareAppMessage(res) {
    if(res.from === "button"){
      //来自页面内的转发按钮
      console.log("来自页面内的转发按钮");
    }else if(res.from === "menu"){
      //来自右上角菜单的转发按钮
      console.log("来自右上角菜单的转发按钮");
    }
    return {
      title: "背单词，看妹子",
      imageUrl: "../../images/resources/share.png",
      path: "/pages/index/index"
    }  
  },

  getCikuList: function() {
    var that = this;
    wx.cloud.callFunction({
      name: "cikuList",
      // 传给云函数的参数
      success: function(res) {
        console.log(res.result.data)
        //拉取数据，设置缓存，渲染界面
        if(res.result.data.code == 200){
          that.setData({
            cikuList: res.result.data.data
          })
          //设置缓存
          wx.setStorageSync('ciku-list-cache_datetime', Date.parse(new Date()));
          wx.setStorageSync('ciku-list-cache-data', res.result.data.data);
        }
      },
      fail: console.error
    })
  },

  //选择词库事件
  selectCiku: function(event) {
    var flagInfo = event.currentTarget.dataset.info;
    console.log('选择的是：'+JSON.stringify(flagInfo))
    wx.setStorageSync('choice-ciku-cache', flagInfo);
    this.setData({
      choiceCikuFlag: flagInfo
    })
    wx.setStorageSync('settingChangeCache', true);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  }
  
})